{"version":3,"file":"static/chunks/pages/[franchiseeSlug]/blog/page/[pageNumber]-959bbf57fe326253.js","mappings":"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","sources":["webpack://_N_E/./pages/[franchiseeSlug]/blog/page/[pageNumber].tsx","webpack://_N_E/?3bf0"],"sourcesContent":["import { faSearch } from '@fortawesome/free-solid-svg-icons';\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome';\nimport camelcaseKeys from 'camelcase-keys';\nimport { DateTime, Duration } from 'luxon';\nimport { GetStaticProps } from 'next';\nimport Image from 'next/image';\nimport Link from 'next/link';\nimport Prismic from 'prismic-javascript';\nimport React from 'react';\nimport { Badge, Card, Col, Nav, Row } from 'react-bootstrap';\nimport SVG from 'react-inlinesvg';\nimport Head from '../../../../components/head';\nimport Layout from '../../../../components/Layout';\nimport OpenGraphDescription from '../../../../components/OpenGraphDescription';\nimport OpenGraphTitle from '../../../../components/OpenGraphTitle';\nimport PageTitle from '../../../../components/PageTitle';\nimport Paginator from '../../../../components/Paginator';\nimport Section from '../../../../components/Section';\nimport { FranchiseeProvider } from '../../../../context/Franchisee';\nimport { FranchiseeState } from '../../../../context/Franchisee/franchisee.types';\nimport Gataware from '../../../../SDKs/Gataware';\nimport { PrismicClient } from '../../../../SDKs/Prismic/prismic.config';\nimport { BlogItemDataCamelCase } from '../../../../SDKs/Prismic/prismic.types';\nconst iconPageNotFound = '/images/icon-404.svg';\n\nexport const getStaticProps: GetStaticProps = async (context) => {\n // const { req } = context;\n // console.log(`The params are: ${JSON.stringify(context.params)}`);\n const { pageNumber, franchiseeSlug } = context.params;\n\n const response = await Gataware.getLocations({\n slugs: [franchiseeSlug.toLocaleString()],\n }).then(({ data }) => JSON.parse(data));\n\n const franchisees = await response.data\n .filter(({ slug }) => franchiseeSlug === slug)\n .map((franchisee) => camelcaseKeys(franchisee));\n\n if (!franchisees) {\n return {\n notFound: true,\n revalidate: Duration.fromObject({ hours: 8 }).as('seconds'),\n };\n }\n\n // if the user tries to pass in non-numbers for a page number;\n if (/\\D+/g.test(pageNumber.toString())) {\n return { notFound: true };\n }\n\n const [franchisee] = franchisees;\n\n // convert pageNumber to int.\n const numberOfPages = parseInt(pageNumber.toString(), 10);\n\n // const queryResult = await PrismicClient().query(\n // Prismic.Predicates.at('document.type', 'blog-post'),\n // {\n // page: numberOfPages,\n // orderings: '[my.blog-post.dateposted desc]',\n // pageSize: 6\n // }\n // );\n\n const queryResult = PrismicClient().query(\n Prismic.Predicates.any('my.blog-post.franchiseeslug', [\n franchisee.slug.toLowerCase(),\n 'general',\n ]),\n {\n pageSize: 6,\n page: numberOfPages,\n orderings: '[my.blog-post.dateposted desc]',\n }\n );\n\n const {\n page,\n prev_page: prevPage,\n next_page: nextPage,\n results_per_page: resultsPerPage,\n results_size: resultsSize,\n total_pages: totalPages,\n results,\n } = await queryResult;\n\n const blogItems = await results\n .filter(\n ({ uid, data }) =>\n (uid !== null &&\n data.franchiseeslug === franchisee.slug.toLowerCase()) ||\n data.franchiseeslug === 'general'\n )\n .map((item) => camelcaseKeys({ ...item, data: camelcaseKeys(item.data) }));\n\n const meta = {\n page,\n prevPage,\n nextPage,\n resultsPerPage,\n resultsSize,\n totalPages,\n };\n\n return {\n props: {\n meta,\n blogItems,\n franchisee,\n },\n // revalidate: Duration.fromObject({ minutes: 15 }).as('seconds'),\n revalidate: Duration.fromObject({ hours: 8 }).as('seconds'),\n };\n};\n\nexport const getStaticPaths = async () => {\n const paths = [{ params: { pageNumber: '1', franchiseeSlug: 'birmingham' } }];\n\n return {\n paths,\n fallback: 'blocking',\n };\n};\n\ninterface BlogPageProps {\n /* add blog page props here */\n blogItems: Array<{\n id: string;\n firstPublicationDate: string;\n lastPublicationDate: string;\n type: string;\n slugs: Array;\n tags: Array;\n data: BlogItemDataCamelCase;\n uid: string;\n franchiseeslug: string;\n }>;\n meta: {\n page: number;\n prevPage?: number;\n nextPage?: number;\n resultsPerPage?: number;\n resultsSize: number;\n totalPages: number;\n };\n franchisee: FranchiseeState;\n}\n\nconst Blog: React.FC = ({\n blogItems,\n meta,\n franchisee,\n}: BlogPageProps) => (\n \n \n \n \n\n \n {/* Add Blog description here */}\n {`Get the Latest Posts for Two Maids ${franchisee.name}`}\n \n
\n\n
\n {meta.resultsSize > 0 && (\n Two Maids Cleaning Blog\n )}\n \n {meta.resultsSize ? (\n blogItems.map(({ data, id, firstPublicationDate, uid, tags }) => {\n const publishedDate = DateTime.fromISO(data.dateposted);\n const fallbackDate = DateTime.fromISO(firstPublicationDate);\n return (\n \n \n \n \n {data.banner.url && (\n \n \n \n )}\n \n \n {data.blogTitle[0]?.text}\n \n \n \n \n \n \n {\n publishedDate ?\n publishedDate.toLocaleString({ locale: \"en-US\" })\n : fallbackDate.toLocaleString({ locale: \"en-US\" })\n }\n \n \n \n \n {data.authorName !== null && (\n \n <>\n \n By: {data.authorName}\n \n \n
\n \n \n )}\n
\n \n {tags.length > 0 && (\n <>\n
\n {tags.slice(0, 6).map(\n (tag) =>\n tag.length < 14 && (\n \n {tag}\n \n )\n )}\n \n )}\n
\n \n \n \n );\n })\n ) : (\n \n \n\n

\n We're Sorry. Two Maids {franchisee.name} hasn't posted\n any content yet.\n

\n\n

\n Maybe one of these links will help you find what you're\n looking for.\n

\n \n \n )}\n
\n {meta.totalPages > 1 && (\n \n \n \n \n \n )}\n
\n
\n
\n);\n\n// Blog.defaultProps = {\n// blogItems: [],\n// meta: ({\n// page: 1,\n// prevPage: null,\n// nextPage: null,\n// resultsPerPage: 6,\n// resultsSize: 0,\n// totalPages: 1,\n// }),\n// };\n\nexport default Blog;\n","\n (window.__NEXT_P = window.__NEXT_P || []).push([\n \"/[franchiseeSlug]/blog/page/[pageNumber]\",\n function () {\n return require(\"private-next-pages/[franchiseeSlug]/blog/page/[pageNumber].tsx\");\n }\n ]);\n if(module.hot) {\n module.hot.dispose(function () {\n window.__NEXT_P.push([\"/[franchiseeSlug]/blog/page/[pageNumber]\"])\n });\n }\n "],"names":["blogItems","meta","franchisee","franchiseeValue","slug","title","name","description","className","lg","md","resultsSize","style","justifyContent","rowGap","map","data","id","firstPublicationDate","uid","tags","publishedDate","DateTime","dateposted","fallbackDate","href","xs","cursor","width","height","banner","url","src","alt","placeholder","blurDataURL","fontSize","lineHeight","overflow","fontWeight","color","fontFamily","blogTitle","text","toLocaleString","locale","authorName","length","slice","tag","textTransform","xl","icon","faSearch","totalPages","hrefBase","window","__NEXT_P","push"],"sourceRoot":""}